﻿using System;
using UnitDriven;

#if MSTEST
using Microsoft.VisualStudio.TestTools.UnitTesting;
#elif NUNIT
using NUnit.Framework;
using TestClass = NUnit.Framework.TestFixtureAttribute;
using TestMethod = NUnit.Framework.TestAttribute;
#endif

namespace Silverlight
{
	[TestClass]
	public class ExampleTests
	{
		[TestMethod]
		public void EmptyTest()
		{
		}

		[TestMethod]
		public void SimpleAssert()
		{
			int expected = 0;
			int actual = 0;

			Assert.AreEqual(expected, actual);
		}

		[System.Diagnostics.DebuggerNonUserCode]
		[TestMethod]
		[ExpectedException(typeof(InvalidOperationException))]
		public void ExpectedException()
		{
			// This is an illustration of a test throwing an expected exception.
			throw new InvalidOperationException();
		}

		[System.Diagnostics.DebuggerNonUserCode]
		[TestMethod]
		public void UnexpectedException()
		{
			// This is an illustration of a test throwing an expected exception.
			throw new InvalidOperationException("This test intentionally fails.");
		}

		[System.Diagnostics.DebuggerNonUserCode]
		[TestMethod]
		public void FailureExample()
		{
			int expected = 0;
			int actual = 1;

			Assert.AreEqual(expected, actual, "This test intentionally fails.");
		}

		[TestMethod]
		public void Test_with_a_really_long_name_to_verify_the_horizontal_alignment_of_the_test_in_different_ui_frameworks()
		{

		}
	}
}
